From: Georges Basile Stavracas Neto Date: Wed, 4 Dec 2019 13:47:58 +0000 (-0300) Subject: appDisplay: Simplify AppDisplay X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~351 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b57bcf823fbcb2c2921460bf213a9234ae987796;p=gnome-shell.git appDisplay: Simplify AppDisplay Inherit St.Widget and remove the custom layout manager. Instead, override vfunc_allocate(). Also remove the view stack. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880 --- diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index fb72b296c..078fd8e38 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -952,38 +952,17 @@ var AllView = GObject.registerClass({ } }); -var ViewStackLayout = GObject.registerClass({ - Signals: { 'allocated-size-changed': { param_types: [GObject.TYPE_INT, - GObject.TYPE_INT] } }, -}, class ViewStackLayout extends Clutter.BinLayout { - vfunc_allocate(actor, box) { - let availWidth = box.x2 - box.x1; - let availHeight = box.y2 - box.y1; - // Prepare children of all views for the upcoming allocation, calculate all - // the needed values to adapt available size - this.emit('allocated-size-changed', availWidth, availHeight); - super.vfunc_allocate(actor, box); - } -}); - var AppDisplay = GObject.registerClass( -class AppDisplay extends St.BoxLayout { +class AppDisplay extends St.Widget { _init() { super._init({ style_class: 'app-display', - vertical: true, x_expand: true, y_expand: true, }); this._view = new AllView(); - this._viewStackLayout = new ViewStackLayout(); - this._viewStack = new St.Widget({ x_expand: true, y_expand: true, - layout_manager: this._viewStackLayout }); - this._viewStackLayout.connect('allocated-size-changed', this._onAllocatedSizeChanged.bind(this)); - this.add_actor(this._viewStack); - - this._viewStack.add_actor(this._view); + this.add_actor(this._view); this._switcherooNotifyId = global.connect('notify::switcheroo-control', () => this._updateDiscreteGpuAvailable()); @@ -1008,15 +987,13 @@ class AppDisplay extends St.BoxLayout { this._view.selectApp(id); } - _onAllocatedSizeChanged(actor, width, height) { - let box = new Clutter.ActorBox(); - box.x1 = box.y1 = 0; - box.x2 = width; - box.y2 = height; - box = this._viewStack.get_theme_node().get_content_box(box); - let availWidth = box.x2 - box.x1; - let availHeight = box.y2 - box.y1; + vfunc_allocate(box, flags) { + box = this.get_theme_node().get_content_box(box); + let availWidth = box.get_width(); + let availHeight = box.get_height(); this._view.adaptToSize(availWidth, availHeight); + + this._view.allocate(box, flags); } });